package org.jeecg.modules.rooms.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 全天房计费规则表
 * </p>
 *
 * @author Claude
 * @since 2023-03-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ces_all_day_price_rule")
public class CesAllDayPriceRule extends Model<CesAllDayPriceRule> {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 酒店ID
     */
    private String hotelId;

    /**
     * 进店时间
     */
    private String enterTime;

    /**
     * 退房时间

     */
    private String leaveTime;

    /**
     * 1按分钟加收
        2 按半天房费加收
        3 不收房费
     */
    private Integer timeOutRule;

    /**
     * 1 统一设置  2 根据房型设置（只有在 规则为 1 的情况下生效 ）  规则是2 在另外一个表中
     */
    private Integer ruleType;

    /**
     * 每隔n 分钟 (只有在 rule_type  == 1 情况下生效)
     */

    private Integer minute;

    /**
     * 收取费用（单位元）
     */
    private BigDecimal price;

    /**
     * 超过分钟
     */
    private Integer moreThenMinute;

    /**
     * 超过时间收费（单位元）
     */
    private BigDecimal moreThenPrice;

    /**
     * 直到 小时数 加收全天房费
     */
    private String endTime;

    /**
     * 全天房超过退房时间可以宽限时间（分钟）
     */
    private String dayTime;

    /**
     * 逻辑删除字段
     */
    private Boolean invalid;


    public static final String ID = "id";

    public static final String HOTEL_ID = "hotel_id";

    public static final String ENTER_TIME = "enter_time";

    public static final String LEAVE_TIME = "leave_time";

    public static final String TIME_OUT_RULE = "time_out_rule";

    public static final String RULE_TYPE = "rule_type";

    public static final String MINUTE = "minute";

    public static final String PRICE = "price";

    public static final String MORE_THEN_MINUTE = "more_then_minute";

    public static final String MORE_THEN_PRICE = "more_then_price";

    public static final String END_TIME = "end_time";

    public static final String DAY_TIME = "day_time";

    public static final String INVALID = "invalid";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
